package me.xiaoyan.java.chapter15;

import java.util.Scanner;

public class Regsiter {
	Scanner input = new Scanner(System.in);
	/**
	 * 验证注册信息是否合法
	 * @param username
	 * @param password1
	 * @param password2
	 * @return 验证是否通过（true|false）
	 */
	public boolean verify(String username,String password1,String password2)
	{
		//判断用户是否小于3，小于的话就报错
		if(username.length() < 3)
		{
			System.out.println("用户名长度不能小于3");
			return false;
		}
		//判断第一次密码的长度是否小于6
		if(password1.length() < 6)
		{
			System.out.println("密码长度不能小于6");
			return false;
		}
		//比较两次密码是否相等
		if(!password1.equals(password2))
		{
			System.out.println("两次密码不一致");
			return false;
		}
		return true;
	}
	public void testVerify(){
		boolean result;
		do{
			System.out.print("请输入用户名:");
			String username = input.next();
			System.out.print("请输入密码:");
			String password1 = input.next();
			System.out.print("请再次输入密码:");
			String password2 = input.next();
			result = verify(username,password1,password2);
			if(result){//验证通过
				System.out.println("输入合法，正在注册");
			}else{
				System.out.println("验证不通过");
			}
		}while(result == false);
	}
	
	/**
	 * 验证身份证和电话号码
	 * @param idNo
	 * @param mobile
	 * @param phone
	 * @return
	 */
	public boolean verifyInfo(String idNo,String mobile,String phone)
	{
		//验证身份证（长度为16、18位）
		if(idNo.length() != 16 && idNo.length() != 18){
			System.out.println("身份证号码必须为16位或者18位");
			return false;
		}
		//验证手机号码
		if(mobile.length() != 11)
		{
			System.out.println("手机号码必须为11位");
			return false;
		}
		//判断座机
		if(phone.indexOf("-")==-1){
			System.out.println("座机号码格式不正确,必须包含-");
			return false;
		}
		String[] phoneData = phone.split("-");//通过“-”分割
		if(phoneData[0].length() != 4 ||phoneData[1].length() != 7)
		{
			System.out.println("座机区号必须为4位，号码格式必须为7位");
			return false;
		}
		
		return true;
	}
	
	/**
	 * 验证手机号
	 */
	public void testVerifyInfo(){
		boolean result;
		do{
			System.out.print("请输入身份证:");
			String idNo = input.next();
			System.out.print("请输入手机号码:");
			String mobile = input.next();
			System.out.print("请输入座机号码:");
			String phone = input.next();
			result = verifyInfo(idNo, mobile, phone);
			if(result){//验证通过
				System.out.println("注册成功");
			}
		}while(result == false);
	}
	
	
	public static void main(String[] args) {
		
		Regsiter reg = new Regsiter();
		
		reg.testVerifyInfo();
		
	}

}
